Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

deTStack< T > Class Template Reference

templated stack (or queue) storage class More...

#include <deStack.hpp>

Inheritance diagram for deTStack< T >:

Inheritance graph
[legend]
Collaboration diagram for deTStack< T >:

Collaboration graph
[legend]
List of all members.

Public Types

enum  deStackType { LIFO_STACK = 0, FIFO_STACK = 1, StackType_32bit = 0x7fffffff }

Public Member Functions

 deTStack ()
 deTStack (deStackType PopOrder)
 deTStack (const deTStack &Stack)
 ~deTStack ()
deBoolean Push (const T &ItemData)
deBoolean Push (const T &ItemData, T *&ref)
deBoolean Pop ()
deBoolean Pop (T &target)
T * Peek (int ItemOffset)
T * Peek ()
deBoolean Clear ()
deBoolean isEmpty ()
int Length (void)
deStackType GetStackType (void)
void SetStackType (deStackType PopOrder)
bool HasData (T &data)

Private Member Functions

TStackNodeInsertItem (TStackNode *PrevItem, TStackNode *NextItem, const T &ItemData)
TStackNodeAppendItem (const T &ItemData)
deBoolean RemoveItem (TStackNode *sn)
T * GetFirstItem (TStackNode *&sn)
T * GetLastItem (TStackNode *&sn)
T * GetNextItem (TStackNode *&sn)
T * GetPrevItem (TStackNode *&sn)

Private Attributes

TStackNodeHead
TStackNodeTail
int ItemCount
deStackType StackType

Detailed Description

template<class T>
class deTStack< T >

templated stack (or queue) storage class


Member Enumeration Documentation

template<class T>
enum deTStack::deStackType
 

Enumeration values:
LIFO_STACK 
FIFO_STACK 
StackType_32bit 


Constructor & Destructor Documentation

template<class T>
deTStack< T >::deTStack  
 

template<class T>
deTStack< T >::deTStack deStackType    PopOrder
 

template<class T>
deTStack< T >::deTStack const deTStack< T > &    Stack
 

template<class T>
deTStack< T >::~deTStack  
 


Member Function Documentation

template<class T>
deTStack< T >::TStackNode * deTStack< T >::AppendItem const T &    ItemData [private]
 

template<class T>
deBoolean deTStack< T >::Clear  
 

template<class T>
T * deTStack< T >::GetFirstItem TStackNode *&    sn [private]
 

template<class T>
T * deTStack< T >::GetLastItem TStackNode *&    sn [private]
 

template<class T>
T * deTStack< T >::GetNextItem TStackNode *&    sn [private]
 

template<class T>
T * deTStack< T >::GetPrevItem TStackNode *&    sn [private]
 

template<class T>
deStackType deTStack< T >::GetStackType void    [inline]
 

template<class T>
bool deTStack< T >::HasData T &    data
 

template<class T>
deTStack< T >::TStackNode * deTStack< T >::InsertItem TStackNode   PrevItem,
TStackNode   NextItem,
const T &    ItemData
[private]
 

template<class T>
deBoolean deTStack< T >::isEmpty   [inline]
 

template<class T>
int deTStack< T >::Length void    [inline]
 

template<class T>
T * deTStack< T >::Peek  
 

template<class T>
T * deTStack< T >::Peek int    ItemOffset
 

template<class T>
deBoolean deTStack< T >::Pop T &    target
 

template<class T>
deBoolean deTStack< T >::Pop  
 

template<class T>
deBoolean deTStack< T >::Push const T &    ItemData,
T *&    ref
 

template<class T>
deBoolean deTStack< T >::Push const T &    ItemData
 

template<class T>
deBoolean deTStack< T >::RemoveItem TStackNode   sn [private]
 

template<class T>
void deTStack< T >::SetStackType deStackType    PopOrder [inline]
 


Member Data Documentation

template<class T>
TStackNode* deTStack< T >::Head [private]
 

template<class T>
int deTStack< T >::ItemCount [private]
 

template<class T>
deStackType deTStack< T >::StackType [private]
 

template<class T>
TStackNode* deTStack< T >::Tail [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Sep 12 20:18:41 2005 for Destiny3D by doxygen1.3-rc3